
package com.fire.web.modules.all.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.fire.web.modules.all.entity.AjaxResult;
import com.fire.web.modules.all.entity.ReceiveAreaModel;

import java.util.List;
import java.util.Map;


/**
 * 收货区域Service
 *
 * @author Matthew
 * @Date 2019-01-17 20:50
 */
public interface IReceiveAreaService extends IService<ReceiveAreaModel> {

	/**
	 * 根据 model 条件，查询一条记录
	 * @param model 实体对象 非空
	 * @return ReceiveAreaModel
	 */
	ReceiveAreaModel selectOne(ReceiveAreaModel model);

	/**
	 * 根据 entity 条件，查询全部记录
	 * @param model 实体对象封装操作类（可以为 null）
	 * @return List<ReceiveAreaModel>
	 */
	List<ReceiveAreaModel> selectList(ReceiveAreaModel model);

	/**
	 * 根据 Wrapper 条件，分页查询记录
	 * @param currentPage 当前页码
	 * @param pageSize 每页条数
	 * @param wrapper 条件
	 */
	Page<ReceiveAreaModel> selectPage(int currentPage, int pageSize, Wrapper<ReceiveAreaModel> wrapper);

	/**
	 * 根据 Wrapper 条件，分页查询Map记录
	 * @param currentPage 当前页码
	 * @param pageSize 每页条数
	 * @param wrapper 条件
	 */
	Page<Map<String, Object>> selectMapsPage(int currentPage, int pageSize, Wrapper<ReceiveAreaModel> wrapper);

	AjaxResult getProvinceOpt();

	AjaxResult getCityOrZoneOpt(String parentid);

	String getAddress(String provinceCode, String cityCode, String zonCode);
}
